#ifndef __RUN_POINT_H
#define __RUN_POINT_H

#include "incl.h"

//#define angle_swith_threshold  (0.05f) 	 		//轨迹跟踪目标点角度切换阈值

//#define PosSwithThreshold1    (2.0f) 			//轨迹跟踪目标点曼哈顿距离切换阈值
//#define PosSwithThreshold2    (2.0f) 			//轨迹跟踪目标点曼哈顿距离切换阈值

//#define runPoint_dt		(0.001f)

//typedef enum _RobotWorkState_t
//{
//	RobotWork_Empty 			= 0xFFU,		// >>空状态
//	RobotWork_LockPos 		= 0xFEU,		// >>锁点状态
//	RobotWork_RunPos			= 0x00U,		// >>跑点1
//}RobotWorkState_t;

//typedef enum {
//	Track_Init 	= 0x00U,
//	Track_Run  	= 0x01U,
//	Track_End  	= 0x02U,
//}TrackNowState_t;

//typedef struct _Point_t{//车子运行点坐标
//    float x;
//    float y;
//    float z;
//		RobotWorkState_t TrackNextState;
//}Point_t;

//typedef struct tusr_config {

//	float traj_vel;
//	float traj_accel;
//	float traj_decel;
//	float vel_limit;
//	
//	float TotalDis;		/* 总路程 */
//	float TotalYaw;   /* 总角度 */
//	Point_t Start_pos;							/* 结束位置 */
//	Point_t End_pos;							/* 结束位置 */
//	Bool  useFlag;
//} TusrConfig_t;  		// 速度,加速斜率,减速斜率，系数，限幅

//typedef struct 
//{
//	uint8_t NowRunPoin;
//	RobotWorkState_t eRobotWorkState;	/* 跑点任务工作状态 */
//	TrackNowState_t eTrackState;			/* 跑点状态机 */
////	TusrConfig_t sTusrConfig;					/* 梯形加减速 */
//}Track_t;

//typedef struct
//{
//	float x;
//	float y;
//	float z;
//	
//	float traj_accel;
//	float traj_decel;
//	float traj_vel;
//	float vel_limit;
//	RobotWorkState_t NextState;
//}setRunpoit_t;

//void Tracking_init(void);
//void Tracking_Task(void);
//void TarckSetPos( setRunpoit_t * setPos);
float TrackPoint_getManhattanDis(float now_x, float end_x, /* X方向 */
																 float now_y, float end_y  /* Y方向 */);

//extern Track_t sTrack;
//extern Axis3f RunPoint_Out;		//跑点输出
#endif
